package com.logic.landseaserver.service;


import java.util.Date;
import java.util.List;

import com.logic.common.exception.BusinessException;
import com.logic.common.service.ICRUDService;
import com.logic.landseaserver.common.exception.LandseaBusinessException;
import com.logic.landseaserver.common.exception.LandseaException;
import com.logic.landseaserver.domain.Deposit;
import com.logic.landseaserver.ws.dto.*;
import com.logic.landseaserver.ws.request.ReleaseRoomReq;

/**
 * @Author: jack
 * @Date: 2017/6/7
 * @Description: 预定接口类
 */
public interface IDepositService extends ICRUDService{

	int insertDeposit(DepositDTO depositDTO) throws BusinessException, LandseaException,Exception;

	void editDeposit(DepositDTO depositDTO) throws BusinessException, LandseaException;

	void posCallBack(DepositDTO depositDTO) throws BusinessException, LandseaException;
	
	void deleteDeposit(Integer id) throws BusinessException;

	DepositPdfDTO getPdfDitail(Integer depositId);

	Integer productDipositPdf(DepositPdfDTO deposit) throws Exception;

	void cancleComeDueDeposit(String comeDueDate);

	WeBankPayRespDTO getDepositWeBankPay(DepositWeBankPayReqDTO payinfo) throws LandseaException, Exception;

	void updateDepostiId(Integer depostiId) throws BusinessException, Exception;

	void clearDeposit(Date createDate);

	List<Object> queryListForWechat() throws LandseaBusinessException,BusinessException;

	String updatePayStatus() throws Exception;

	Object queryPDFImg(Integer depositId) throws  LandseaBusinessException;
	
	void renamePDF(Deposit deposit) throws BusinessException;
	
//	void editDepositPay(DepositDTO depositDTO) throws BusinessException;

	void testCreatePDFImg() throws BusinessException;

	void releaseRoom(ReleaseRoomReq req) throws BusinessException;

	void updateVersion(Integer depositId) throws Exception;

	List<UserFileDTO> queryHistoryVersions(Integer contractId) throws BusinessException;

	Integer getChangeVersionCount(Integer prjId);

	void updateAuthCode(DepositDTO depositDTO) throws BusinessException, LandseaException;
}
